<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of Aanmelden
 *
 * @author oophp
 */
class Bestellen extends Moeder{
    private  $_items = array();

    private function _getItems(){
        $dbConn = DBConn::GET();
        $dbSql = "SELECT * FROM items ORDER BY titel";
        $dbResult = $dbConn->query($dbSql);
        if($dbResult->rowCount() == 0){
            return false;
        }else{
            while ($dbRij= $dbResult->fetch(PDO::FETCH_ASSOC)){
                $tmp = array();
                $tmp['iditem']= $dbRij['iditem'];
                $tmp['titel']= $dbRij['titel'];
                $tmp['prijs1']= $dbRij['prijs1'];
                $tmp['prijs2']= $dbRij['prijs2'];
                $tmp['prijs3']= $dbRij['prijs3'];
                $tmp['beschrijving']= $dbRij['beschrijving'];
                $tmp['foto']= $dbRij['foto'];
                array_push($this->_items, $tmp);
            }
            return true;
        }
    }
    final protected function _verwerk(){
        if(filter_input(INPUT_POST, 'bestelknop')){
            $idFactuur = $this->_bestel();
            if($idFactuur >0){
                header('location:/Factuur/'.$idFactuur);
            }
        }
        $this->_genereerHtml();
    }
    private function _bestel(){
        $bestelling =array();
        foreach ($_POST as $idItem => $aantal){
            if($idItem != 'bestelknop'){
                if((int)$aantal >0){
                    $bestelling[$idItem]=$aantal;
                }
            }
        }
        if(count($bestelling)==0){
            return-1;
        }else{
            $dbConn = DBConn::GET();
             $naam = Sessie::GET('naam');
             $dbSql ="INSERT INTO factuur(naam) VALUES('{$naam}')";
             $dbConn->query($dbSql);
             $idFactuur = $dbConn->lastInsertId();
             $dbStmt = $dbConn->prepare("INSERT INTO factuuritems(idfactuur,iditem,prijs)
                                            VALUES(:idfactuur,:iditem,:prijs)");
             foreach ($bestelling as $idItem => $prijs) {
                 $dbStmt->bindParam(':idfactuur',$idFactuur);
                 $dbStmt->bindParam(':iditem',$idItem);
                 $dbStmt->bindParam(':prijs',$prijs);
                 $dbStmt->execute();
             }
             return $idFactuur;
        }
    }
    final protected function _genereerHtml(){
        $this->_addHtml('<h1>Bestellen</h1>');       
        if($this->_getItems()){
            $this->_addHtml('<ul id ="bestellen">');
            foreach ($this->_items as $sleutel => $item) {
                $this->_addHtml(<<<EOD
<li>
    <img class="foto" src="fotos/{$item['foto']}">
    <div class="info">
         <h3>{$item['titel']}</h3>           
         <div>{$item['beschrijving']}</div>
    </div>
    <div class="prijs">
            <input checked="checked" type="radio" value="0" name="{$item['iditem']}">
         geen
         <br />
            <input type="radio" value="1" name="{$item['iditem']}">
            1 portie &euro; {$item['prijs1']}
         <br />
            <input type="radio" value="2" name="{$item['iditem']}">
            2 porties &euro; {$item['prijs2']}
                  
         <br />
            <input type="radio" value="3" name="{$item['iditem']}">
            4 porties &euro; {$item['prijs3']}
         <br />
        
    </div>
</li>
   
EOD
);
            }
            $this->_addHtml('</ul>');
            $this->_addHtml('<hr>');
            $this->_addHtml('<input type="submit" id="bestelknop" name="bestelknop" value="Bestel">');
        }else{
            $this->_addHtml('<p>Geen items gevonden</p>');
        }
    }
    //put your code here
}

?>
